package br.com.duosoftware.orcamento.daos;

import br.com.duosoftware.orcamento.entidades.ElementoDeDespesa;
import java.util.List;

/**
 *
 * @author Daniel
 * 
 */

public class ElementoDeDespesaDAO extends DAOGenerico {
    
    public void salvarOuAtualizar(ElementoDeDespesa elementoDeDespesa){
        salvarOuAtualizarPojo(elementoDeDespesa);
    }

    public void excluir(ElementoDeDespesa elementoDeDespesa){
        excluirPojo(elementoDeDespesa);
    }

    public ElementoDeDespesa getElementoDeDespesaPorId(long id){
        return getPojo(ElementoDeDespesa.class, id);
    }

    public List<ElementoDeDespesa> listarElementosDeDespesa(){
        return getPojos("FROM ElementoDeDespesa elementoDeDespesa "
                      + "ORDER BY elementoDeDespesa.id");
    }
    
    public String obterSequencia(String codigo) {

        String result = getPojoCriterio("SELECT max(elementoDeDespesa.codigo) "
                + "FROM ElementoDeDespesa elementoDeDespesa "
                + "WHERE elementoDeDespesa.codigo LIKE ?",
                codigo + "%");

        String retorno = "01";

        if (result != null) {

            retorno = String.format("%02d", Integer.parseInt(result.substring(11)) + 1);           

        }
        
        return retorno;

    }

}
